<!DOCTYPE html>
<!--[if lt IE 9 ]>
<html class="no-js oldie" lang="en"> <![endif]-->
<!--[if IE 9 ]>
<html class="no-js oldie ie9" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->

<head>

    <!--- basic page needs
   ================================================== -->
    <meta charset="utf-8">
    <title>Ludwig</title>
    <meta content="" name="description">
    <meta content="" name="author">

    <!-- mobile specific metas
   ================================================== -->
    <meta content="width=device-width, initial-scale=1" name="viewport">

    <!-- CSS
   ================================================== -->
    <link href="assets/stylesheets/application.572ca0f0.css" rel="stylesheet">
    <link href="assets/stylesheets/application-palette.22915126.css" rel="stylesheet">
    <link href="assets/fonts/material-icons.css" rel="stylesheet">
    <link href="stylesheets/extra.css" rel="stylesheet">
    <link href="stylesheets/monokai.css" rel="stylesheet">


    <link href="stylesheets/landing_base.css" rel="stylesheet">
    <link href="stylesheets/landing_vendor.css" rel="stylesheet">
    <link href="stylesheets/landing_main.css" rel="stylesheet">

    <!-- script
   ================================================== -->
    <script src="js/modernizr.js"></script>
    <script src="js/pace.min.js"></script>

    <!-- favicons
	================================================== -->
    <link href="apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180">
    <link href="favicon-32x32.png" rel="icon" sizes="32x32" type="image/png">
    <link href="favicon-16x16.png" rel="icon" sizes="16x16" type="image/png">
    <link href="site.webmanifest" rel="manifest">
    <link color="#5bbad5" href="safari-pinned-tab.svg" rel="mask-icon">
    <meta content="#ffffff" name="msapplication-TileColor">
    <meta content="#ffffff" name="theme-color">

    <!-- open graph
	================================================== -->
    <meta content="446" property="og:image:height">
    <meta content="852" property="og:image:width">
    <meta content="Ludwig is a toolbox that allows to train and test deep learning models without the need to write code"
          property="og:description">
    <meta content="Ludwig - code-free deep learning toolbox" property="og:title">
    <meta content="http://uber.github.io/ludwig" property="og:url">
    <meta content="http://raw.githubusercontent.com/uber/ludwig/master/docs/images/og-image.jpg" property="og:image">
    <meta content="https://raw.githubusercontent.com/uber/ludwig/master/docs/images/og-image.jpg" property="og:image:secure_url">
    <meta content="website" property="og:type">

</head>

<body id="top">

<!-- header
================================================== -->
<header class="row" id="header">

    <div class="header-logo">
        <a href="index.html">Ludwig</a>
    </div>


    <nav id="header-nav-wrap">
        <ul class="header-main-nav">
            <li><a class="nav-entry" href="getting_started/" title="getting-started">Getting Started</a></li>
            <li><a href="examples/" title="examples">Examples</a></li>
            <li><a href="user_guide/" title="user-guide">User Guide</a></li>
            <li><a href="developer_guide/" title="developer-guide">Developer Guide</a></li>
            <li><a href="api/" title="api">API</a></li>
            <li><a href="faq/" title="faq">FAQ</a></li>
        </ul>

        <a class="button button-primary cta" href="http://github.com/uber/ludwig" title="repo"><i
                class="fa fa-github"></i> Repo</a>
    </nav>

    <a class="header-menu-toggle" href="#"><span>Menu</span></a>

</header> <!-- /header -->


<!-- home
================================================== -->
<section id="home">


    <div class="canvas-container">
        <div class="alternative-background"></div>
    </div>

    <div class="canvas-container">
        <canvas id="glcanvas" width="100vw" height="100vh"></canvas>
    </div>

    <div class="overlay"></div>
    <div class="home-content">

        <div class="row contents">

            <div class="home-content-left">

                <img src="images/ludwig_logo.svg">
                <!--
                <h3 data-aos="fade-up">
                    Developing a Deep Learning model <br>
                    has never been easier
                </h3>
                --->
                <!--
                <div class="buttons" data-aos="fade-up">
                    <a href="http://player.vimeo.com/video/14592941?title=0&amp;byline=0&amp;portrait=0&amp;color=39b54a" data-lity class="button stroke">
                        <span class="icon-play" aria-hidden="true"></span>
                    Start the tutorial
                    </a>
                </div>
                -->
            </div>


        </div>

    </div> <!-- end home-content -->

    <!--
    <ul class="home-social-list">
        <li>
            <a href="http://github.com/uber/ludwig"><i class="fa fa-github"></i></a>
        </li>
        <li>
            <a href="#"><i class="fa fa-facebook-square"></i></a>
        </li>
        <li>
            <a href="#"><i class="fa fa-twitter"></i></a>
        </li>
        <li>
            <a href="#"><i class="fa fa-instagram"></i></a>
        </li>
        <li>
            <a href="#"><i class="fa fa-youtube-play"></i></a>
        </li>
    </ul>
    -->
    <!-- end home-social-list -->

    <div class="home-scrolldown">
        <a class="scroll-icon smoothscroll" href="#about">
            <span>Scroll Down</span>
            <i aria-hidden="true" class="mi mi-ChevronRight"></i>
        </a>
    </div>

</section> <!-- end home -->


<!-- about
================================================== -->
<section id="about">

    <div class="row about-intro">

        <div class="col-four">
            <h1 class="intro-header" data-aos="fade-up">About Ludwig</h1>
            </div>
        <div class="col-eight">
            <p class="lead" data-aos="fade-up">
                Ludwig is a toolbox that allows to train and test deep learning models without the need to write code.
            </p>
        </div>

    </div>

    <div class="row about-features">

        <div class="features-list block-1-3 block-m-1-2 block-mob-full group">


            <div class="bgrid feature" data-aos="fade-up">

                <span class="icon"><i class="mi mi-Design"></i></span>

                <div class="service-content">
                    <h3>General</h3>

                    <p>A new data type-based approach to deep learning model design that makes the tool suited for many
                        different applications.
                    </p>


                </div>

            </div> <!-- /bgrid -->

            <div class="bgrid feature" data-aos="fade-up">

                <span class="icon"><i class="mi mi-Size"></i></span>
                <!--<span class="icon"><i class="icon-paint-size"></i></span>-->
                <div class="service-content">
                    <h3>Flexible</h3>

                    <p>Experienced users have deep control over model building and training, while newcomers will find
                        it easy to use.
                    </p>

                </div>

            </div> <!-- /bgrid -->

            <div class="bgrid feature" data-aos="fade-up">

                <span class="icon"><i class="mi mi-DeveloperTools"></i></span>

                <div class="service-content">
                    <h3>Extensible</h3>

                    <p>Easy to add new model architecture and new feature data-types.
                    </p>

                </div>

            </div> <!-- /bgrid -->

            <div class="bgrid feature" data-aos="fade-up">

                <span class="icon"><i class="mi mi-AreaChart"></i></span>

                <div class="service-content">
                    <h3>Understandable</h3>

                    <p>Deep learning models internals are often considered black boxes, but we provide standard
                        visualizations to understand their performances and compare their predictions.
                    </p>
                </div>

            </div> <!-- /bgrid -->

            <div class="bgrid feature" data-aos="fade-up">

                <span class="icon"><i class="mi mi-Cafe"></i></span>

                <div class="service-content">

                    <h3>Easy</h3>

                    <p>No coding skills are required to train a model and use it for obtaining predictions.
                    </p>

                </div>

            </div> <!-- /bgrid -->

            <div class="bgrid feature" data-aos="fade-up">

                <span class="icon"><i class="mi mi-Unlock"></i></span>

                <div class="service-content">
                    <h3>Open</h3>

                    <p>Ludwig is release under the open source Apache License 2.0.
                    </p>

                </div>

            </div> <!-- /bgrid -->

        </div> <!-- end features-list -->

    </div> <!-- end about-features -->

    <div class="row about-how">

        <h1 class="intro-header" data-aos="fade-up">How does it work?</h1>

        <div class="about-how-content" data-aos="fade-up">
            <div class="about-how-steps block-1-2 block-tab-full group">

                <div class="bgrid step" data-item="1">
                    <h3>Install</h3>
                    <p>Just run <code>pip install ludwig</code> and it will be ready to use. Some features may require
                        further steps, read <a href="#">Getting Started</a>.
                    </p>
                </div>

                <div class="bgrid step" data-item="2">
                    <h3>Train</h3>
                    <p>Prepare your cata in a CSV file, define input and output feature in a model definition YAML file
                        and run:
                    <pre><code>ludwig train
--data_csv file.csv
--model_definition definition.yaml</code></pre>
                    </p>
                </div>

                <div class="bgrid step" data-item="3">
                    <h3>Predict</h3>
                    <p>Prepare your data in a CSV file and use a pre-trained model to predict the output targets:
                    <pre><code>ludwig predict
--data_csv data.csv
--model path_to_model</code></pre>
                    </p>
                </div>

                <div class="bgrid step" data-item="4">
                    <h3>Visualize</h3>
                    <p>Ludwig comes with many visualization options. If you want to look at the learning curves of your
                        model for instance, run:
                    <pre><code>ludwig visualize
--visualization learning_curves
--training_stats train_stats.json</code></pre>
                    </p>
                </div>

            </div>
        </div> <!-- end about-how-content -->

    </div> <!-- end about-how -->

    <div class="row about-bottom-image">

        <img alt="Ludwig Screenshots"
             class="centered-image"
             data-aos="fade-up"
             sizes="(max-width: 2800px) 100vw, 2800px"
             src="images/screens-1200.png"
             srcset="images/screens-600.png 600w,
                     images/screens-1200.png 1200w,
                     images/screens-2800.png 2800w">

    </div>  <!-- end about-bottom-image -->

</section> <!-- end about -->


<!-- cite
================================================== -->
<section id="download">

    <div class="row">
        <div class="col-full">
            <h1 class="intro-header" data-aos="fade-up">Programatic API</h1>

            <p class="lead" data-aos="fade-up">
                Train models and use them to predict directly from Python
            </p>

            <pre data-aos="fade-up"><code>from ludwig import LudwigModel

# train a model
model_definition = {...}
model = LudwigModel(model_definition)
train_stats = model.train(training_dataframe)
# or load a model
model = LudwigModel.load(model_path)

# obtain predictions
predictions = model.predict(test_dataframe)</code></pre>
            <!--
            <ul class="download-badges">
                <li><a href="#" title="" class="badge-appstore"  data-aos="fade-up">App Store</a></li>
                <li><a href="#" title="" class="badge-googleplay" data-aos="fade-up">Play Store</a></li>
            </ul>
            -->
        </div>
    </div>

</section> <!-- end download -->


<!-- footer
================================================== -->
<footer class="md-footer">

    <div class="md-footer-nav">
        <nav class="md-footer-nav__inner md-grid">


            <a class="md-flex md-footer-nav__link md-footer-nav__link--next" href="getting_started/"
               rel="next" title="Getting Started">
                <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
              <span class="md-flex__ellipsis">
                <span class="md-footer-nav__direction">
                  Next
                </span>
                Getting Started
              </span>
                </div>
                <div class="md-flex__cell md-flex__cell--shrink">
                    <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
                </div>
            </a>

        </nav>
    </div>

    <div class="md-footer-meta md-typeset">
        <div class="md-footer-meta__inner md-grid">
            <div class="md-footer-copyright">

                <div class="footer-logo-smallpad"></div>
                <!--<a href="htto://github.com/uber/ludwig"><i class="fa fa-github"></i></a>-->

                <div class="md-footer-copyright__highlight">
                    Copyright © 2019 Uber Technologies Inc.
                </div>

                Website by <a href="http://w4nderlu.st">w4nderlust</a> powered by
                <a href="https://www.mkdocs.org">MkDocs</a>,
                <a href="https://squidfunk.github.io/mkdocs-material/">Material for MkDocs</a>,
                <a href="http://www.styleshout.com/">styleshout</a> and
                <a href="http://cables.gl/">cables</a>.
                </div>


        </div>
    </div>

</footer>

<div id="preloader">
    <div id="loader"></div>
</div>

<!-- Java Script
================================================== -->
<script src="js/jquery-2.1.3.min.js"></script>
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>

<script src="js/libs.core.min.js" type="text/javascript"></script>
<script src="js/cables.min.js" type="text/javascript"></script>

<script src="js/ops.js" type="text/javascript"></script>

<script>
    function detect_webgl2() {
        var canvas = document.createElement("canvas");
        var gl = canvas.getContext("webgl2");
        return gl != null;
    }

    /**
     * Called when there was a cables error.
     * @param {string} errId - ID of the error, e.g. 'NO_WEBGL' or 'NO_WEBAUDIO'
     *                         when the browser does not support the used APIs
     * @param {string} errMsg - The error message
     */
    function showError(errId, errMsg) {
        //alert('An error occured: ' + errId + ', ' + errMsg);
        console.log("Cables error");
    }

    function patchInitialized() {
        // You can now access the patch object (CABLES.patch), register variable watchers and so on
    }

    function patchFinishedLoading() {
        // The patch is ready now, all assets have been loaded
    }

    if (detect_webgl2()) {
            document.addEventListener('DOMContentLoaded', function (event) {
                CABLES.patch = new CABLES.Patch({
                    patchFile: 'https://raw.githubusercontent.com/uber/ludwig/master/docs/js/Ludwig.json',
                    prefixAssetPath: '',
                    glCanvasId: 'glcanvas',
                    glCanvasResizeToWindow: true,
                    onError: showError,
                    onPatchLoaded: patchInitialized,
                    onFinishedLoading: patchFinishedLoading,
                });
            });
    } else {
        console.log("No webgl2 support")
    }

</script>

</body>

</html>